package com.zja.www.service;

import com.zja.www.entity.Schedule;
import java.sql.Timestamp;

import java.util.List;

public interface ScheduleService {

    boolean createSchedule(Schedule schedule);
    boolean updateSchedule(Schedule schedule);
    boolean deleteSchedule(int scheduleId);
    Schedule getScheduleById(int scheduleId);


    List<Schedule> getSchedulesByDate(Timestamp date);
    List<Schedule> getSchedulesByDoctor(int doctorId);
    List<Schedule> getSchedulesByDepartment(int departmentId);


    boolean isScheduleAvailable(int scheduleId);
    boolean checkScheduleConflict(int doctorId, Timestamp date, String startTime, String endTime);
    boolean bookSchedule(int scheduleId);
    boolean cancelScheduleBooking(int scheduleId);
    void cancelScheduleBooking(int doctorId, Timestamp time);


    List<Schedule> getAvailableSchedules(int doctorId, Timestamp date);
}
